package com.liming.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.List;

/**
 * @author liming
 * @date 2025/3/11
 */
@Getter
@AllArgsConstructor
public enum OperationTypeEnum {

    // 0 登录 1 浏览 2 搜索 3 加入购物车 4 下单完成支付 5 浏览系统推荐商品 6 查看购物车 7 收藏 8 评价 9 售后
    LOGIN(0, "登录", 0.15),
    BROWSE(1, "浏览", 0.3),
    SEARCH(2, "搜索", 0.15),
    ADD_CART(3, "加入购物车", 0.15),
    ORDER_PAY(4, "下单完成支付", 0.01), // 无
    BROWSE_RECOMMEND(5, "浏览系统推荐商品", 0.1),
    SHOW_CART(6, "查看购物车", 0.05),
    COLLECT(7, "收藏", 0.05), // 无
    EVALUATE(8, "评价", 0.05), // 无
    AFTER_SALE(9, "售后", 0.05); // 无

    private final Integer code;
    private final String desc;
    private final Double rate;

    public static Double getRateByCode(Integer code) {
        for (OperationTypeEnum value : OperationTypeEnum.values()) {
            if (value.getCode().equals(code)) {
                return value.getRate();
            }
        }
        return 0.0;
    }

    public static List<Integer> productActivityTypeList() {
        return List.of(OperationTypeEnum.BROWSE.getCode(), OperationTypeEnum.ADD_CART.getCode());
    }
}
